﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MvcShop.Models.Repositories
{
    public interface IUserRepository<T>:IRepository<T> where T : class
    {
        IEnumerable<User> Find(IEnumerable<int> values);
        void Del(IEnumerable<int> values);
        bool FindUserByEmail(string email);
        User GetUserByEmail(string email);
        bool FindUserByName(string name);
        User GetUserByName(string name);
        int GetUserIdByName(string name);
        IList<User> FindAll(int page, int pageSize, Order order);
    }

    public interface IUserRoleRepository<T> : IRepository<T> where T : class
    { }

    public interface IRoleRepository<T> : IRepository<T> where T : class
    { }

    public interface IControllerActionRepository<T> : IRepository<T> where T : class
    {
        void Del(IEnumerable<int> values);
    }

    public interface IControllerActionRoleRepository<T> : IRepository<T> where T : class
    { }

    public interface IUserInfoRepository<T> : IRepository<T> where T : class
    {
        void Del(IEnumerable<int> values);
    }
}
